using System;
using System.Collections;
using System.Collections.Generic;
using Org.Apache.Cassandra.Thrift;
using Thrift;
using Thrift.Protocol;

namespace Me.Prettyprint.Cassandra.Model.Thrift
{
	public abstract class AbstractThriftClientWrapper : Org.Apache.Cassandra.Thrift.Cassandra.Client
	{
		public AbstractThriftClientWrapper(Org.Apache.Cassandra.Thrift.Cassandra.Client client):base(client.InputProtocol, client.OutputProtocol)
		{
			Client = client;
		}
		internal Org.Apache.Cassandra.Thrift.Cassandra.Client Client
        {
            get; private set;
        }
		public void Add(byte[] key, ColumnParent column_parent, CounterColumn column, ConsistencyLevel consistency_level)
		{
			Client.add(key, column_parent, column, consistency_level);
		}
        public new string describe_cluster_name()
		{
			return Client.describe_cluster_name();
		}
        public new KsDef describe_keyspace(string keyspace)
		{
			return Client.describe_keyspace(keyspace);
		}
        public new List<KsDef> describe_keyspaces()
        {
            return Client.describe_keyspaces();
        }
        public new string describe_partitioner()
		{
			return Client.describe_partitioner();
		}
        public new List<TokenRange> describe_ring(string keyspace)
        {
            return Client.describe_ring(keyspace);
        }
        public new Dictionary<string, List<string>> describe_schema_versions()
        {
            return Client.describe_schema_versions();
        }
        public new virtual string describe_snitch()
		{
			return Client.describe_snitch();
		}
        public new List<string> describe_splits(string cfName, string start_token, 
		string end_token, int keys_per_split)
        {
            return Client.describe_splits(cfName,start_token,end_token,keys_per_split);
        }
        public new string describe_version()
		{
			return Client.describe_version();
		}
        public new CqlResult execute_cql_query(byte[] query, Compression compression)
		{
			return Client.execute_cql_query(query, compression);
		}
        public new int get_count(byte[] key, ColumnParent column_parent, SlicePredicate predicate, ConsistencyLevel consistency_level)
		{
			return Client.get_count(key, column_parent, predicate, consistency_level);
		}
        public new List<KeySlice> get_indexed_slices(ColumnParent column_parent, IndexClause index_clause, 
            SlicePredicate column_predicate, ConsistencyLevel consistency_level)
        {
            return Client.get_indexed_slices(column_parent, index_clause, column_predicate, consistency_level);
        }
        public new List<KeySlice> get_range_slices(ColumnParent column_parent, SlicePredicate predicate,
            KeyRange range, ConsistencyLevel consistency_level)
        {
            return Client.get_range_slices(column_parent, predicate, range, consistency_level);
        }
        public new List<ColumnOrSuperColumn> get_slice(byte[] key, ColumnParent column_parent, 
            SlicePredicate predicate, ConsistencyLevel consistency_level) 
        {
            return Client.get_slice(key, column_parent, predicate, consistency_level);
        }
        public new void insert(byte[] key, ColumnParent column_parent, Column column, ConsistencyLevel consistency_level)
		{
			Client.insert(key, column_parent, column, consistency_level);
		}
        public new void login(AuthenticationRequest auth_request)
		{
			Client.login(auth_request);
		}
        public new Dictionary<byte[], int> multiget_count(List<byte[]> keys, ColumnParent column_parent, SlicePredicate predicate, 
            ConsistencyLevel consistency_level)
        {
            return Client.multiget_count(keys, column_parent, predicate, consistency_level);
        }
        public new Dictionary<byte[], List<ColumnOrSuperColumn>> multiget_slice(List<byte[]> keys, ColumnParent column_parent, 
            SlicePredicate predicate, ConsistencyLevel consistency_level) 
        {
            return Client.multiget_slice(keys, column_parent, predicate, consistency_level);
        }
        public new void recv_add()
		{
			Client.recv_add();
		}
        public new void recv_batch_mutate()
		{
			Client.recv_batch_mutate();
		}
        public new string recv_describe_cluster_name()
		{
			return Client.recv_describe_cluster_name();
		}
        public new KsDef recv_describe_keyspace()
		{
			return Client.recv_describe_keyspace();
		}
        public new List<KsDef> recv_describe_keyspaces()
        {
            return Client.recv_describe_keyspaces();
        }
        public new System.String recv_describe_partitioner()
		{
			return Client.recv_describe_partitioner();
		}
        public new List<TokenRange> recv_describe_ring()
        {
            return Client.recv_describe_ring();
        }
        public new Dictionary<string, List<string>> recv_describe_schema_versions()
        {
            return Client.recv_describe_schema_versions();
        }
        public new System.String recv_describe_snitch()
		{
			return Client.recv_describe_snitch();
		}
        public new List<string> recv_describe_splits()
        {
            return Client.recv_describe_splits();
        }
        public new System.String recv_describe_version()
		{
			return Client.recv_describe_version();
		}
        public new CqlResult recv_execute_cql_query()
		{
			return Client.recv_execute_cql_query();
		}
        public new ColumnOrSuperColumn recv_get()
		{
			return Client.recv_get();
		}
        public new int recv_get_count()
		{
			return Client.recv_get_count();
		}
        public new List<KeySlice> recv_get_indexed_slices()
        {
            return Client.recv_get_indexed_slices();
        }
        public new List<KeySlice> recv_get_range_slices()
        {
            return Client.recv_get_range_slices();
        }
        public new List<ColumnOrSuperColumn> recv_get_slice()
        {
            return Client.recv_get_slice();
        }
        public new void recv_insert()
		{
			Client.recv_insert();
		}
        public new void recv_login()
		{
			Client.recv_login();
		}
        public new Dictionary<byte[], int> recv_multiget_count()
        {
            return Client.recv_multiget_count();
        }
        public new Dictionary<byte[], List<ColumnOrSuperColumn>> recv_multiget_slice() 
        {
            return Client.recv_multiget_slice();
        }
        public new void recv_remove()
		{
			Client.recv_remove();
		}
        public new void recv_remove_counter()
		{
			Client.recv_remove_counter();
		}
        public new void recv_set_keyspace()
		{
			Client.recv_set_keyspace();
		}
        public new string recv_system_add_column_family()
		{
			return Client.recv_system_add_column_family();
		}
        public new string recv_system_add_keyspace()
		{
			return Client.recv_system_add_keyspace();
		}
        public new string recv_system_drop_column_family()
		{
			return Client.recv_system_drop_column_family();
		}
        public new string recv_system_drop_keyspace()
		{
			return Client.recv_system_drop_keyspace();
		}
        public new string recv_system_update_column_family()
		{
			return Client.recv_system_update_column_family();
		}
        public new string recv_system_update_keyspace()
		{
			return Client.recv_system_update_keyspace();
		}
        public new void recv_truncate()
		{
			Client.recv_truncate();
		}
        public new void remove(byte[] key, ColumnPath column_path, long timestamp, ConsistencyLevel consistency_level)
		{
			Client.remove(key, column_path, timestamp, consistency_level);
		}
        public new void remove_counter(byte[] key, ColumnPath path, ConsistencyLevel consistency_level)
		{
			Client.remove_counter(key, path, consistency_level);
		}
        public new void send_add(byte[] key, ColumnParent column_parent, CounterColumn column, ConsistencyLevel consistency_level)
		{
			Client.send_add(key, column_parent, column, consistency_level);
		}
        public new void send_batch_mutate(Dictionary<byte[], Dictionary<string, List<Mutation>>> mutation_map, ConsistencyLevel consistency_level)
        {
            Client.send_batch_mutate(mutation_map, consistency_level);
        }
        public new void send_describe_cluster_name()
		{
			Client.send_describe_cluster_name();
		}
        public new void send_describe_keyspace(System.String keyspace)
		{
			Client.send_describe_keyspace(keyspace);
		}
        public new void send_describe_keyspaces()
		{
			Client.send_describe_keyspaces();
		}
        public new void send_describe_partitioner()
		{
			Client.send_describe_partitioner();
		}
        public new void send_describe_ring(System.String keyspace)
		{
			Client.send_describe_ring(keyspace);
		}
        public new void send_describe_schema_versions()
		{
			Client.send_describe_schema_versions();
		}
        public new void send_describe_snitch()
		{
			Client.send_describe_snitch();
		}
        public new void send_describe_splits(System.String cfName, System.String start_token, System.String end_token, int keys_per_split)
		{
			Client.send_describe_splits(cfName, start_token, end_token, keys_per_split);
		}
        public new void send_describe_version()
		{
			Client.send_describe_version();
		}
        public new void send_execute_cql_query(byte[] query, Compression compression)
		{
			Client.send_execute_cql_query(query, compression);
		}
        public new void send_get(byte[] key, ColumnPath column_path, ConsistencyLevel consistency_level)
		{
			Client.send_get(key, column_path, consistency_level);
		}
        public new void send_get_count(byte[] key, ColumnParent column_parent, SlicePredicate predicate, ConsistencyLevel consistency_level)
		{
			Client.send_get_count(key, column_parent, predicate, consistency_level);
		}
        public new void send_get_indexed_slices(ColumnParent column_parent, IndexClause index_clause, SlicePredicate column_predicate, ConsistencyLevel consistency_level)
		{
			Client.send_get_indexed_slices(column_parent, index_clause, column_predicate, consistency_level);
		}
        public new void send_get_range_slices(ColumnParent column_parent, SlicePredicate predicate, KeyRange range, ConsistencyLevel consistency_level)
		{
			Client.send_get_range_slices(column_parent, predicate, range, consistency_level);
		}
        public new void send_get_slice(byte[] key, ColumnParent column_parent, SlicePredicate predicate, ConsistencyLevel consistency_level)
		{
			Client.send_get_slice(key, column_parent, predicate, consistency_level);
		}
        public new void send_insert(byte[] key, ColumnParent column_parent, Column column, ConsistencyLevel consistency_level)
		{
			Client.send_insert(key, column_parent, column, consistency_level);
		}
        public new void send_login(AuthenticationRequest auth_request)
		{
			Client.send_login(auth_request);
		}
        public new void send_multiget_count(List<byte[]> keys, ColumnParent column_parent, SlicePredicate predicate, ConsistencyLevel consistency_level)
        {
            Client.send_multiget_count(keys, column_parent, predicate, consistency_level);
        }
        public new void send_multiget_slice(List<byte[]> keys, ColumnParent column_parent, SlicePredicate predicate, ConsistencyLevel consistency_level)
        {
            Client.send_multiget_slice(keys, column_parent, predicate, consistency_level);
        }
        public new void send_remove(byte[] key, ColumnPath column_path, long timestamp, ConsistencyLevel consistency_level)
		{
			Client.send_remove(key, column_path, timestamp, consistency_level);
		}
        public new void send_remove_counter(byte[] key, ColumnPath path, ConsistencyLevel consistency_level)
		{
			Client.send_remove_counter(key, path, consistency_level);
		}
        public new void send_set_keyspace(System.String keyspace)
		{
			Client.send_set_keyspace(keyspace);
		}
        public new void send_system_add_column_family(CfDef cf_def)
		{
			Client.send_system_add_column_family(cf_def);
		}
        public new void send_system_add_keyspace(KsDef ks_def)
		{
			Client.send_system_add_keyspace(ks_def);
		}
        public new void send_system_drop_column_family(System.String column_family)
		{
			Client.send_system_drop_column_family(column_family);
		}
        public new void send_system_drop_keyspace(System.String keyspace)
		{
			Client.send_system_drop_keyspace(keyspace);
		}
        public new void send_system_update_column_family(CfDef cf_def)
		{
			Client.send_system_update_column_family(cf_def);
		}
        public new void send_system_update_keyspace(KsDef ks_def)
		{
			Client.send_system_update_keyspace(ks_def);
		}
        public new void send_truncate(System.String cfname)
		{
			Client.send_truncate(cfname);
		}
        public new void set_keyspace(System.String keyspace)
		{
			Client.set_keyspace(keyspace);
		}
        public new string system_add_column_family(CfDef cf_def)
		{
			return Client.system_add_column_family(cf_def);
		}
        public new string system_add_keyspace(KsDef ks_def)
		{
			return Client.system_add_keyspace(ks_def);
		}
        public new string system_drop_column_family(string column_family)
		{
			return Client.system_drop_column_family(column_family);
		}
        public new System.String system_drop_keyspace(System.String keyspace)
		{
			return Client.system_drop_keyspace(keyspace);
		}
        public new string system_update_column_family(CfDef cf_def)
		{
			return Client.system_update_column_family(cf_def);
		}
        public new string system_update_keyspace(KsDef ks_def)
		{
			return Client.system_update_keyspace(ks_def);
		}
        public new void truncate(string cfname)
		{
			Client.truncate(cfname);
		}
	}
}